package future;

/**
 * Created by brossdong on 2018/1/19.
 */
public class FutureClient {

    public Data request(final String queryStr) {
        //1 先返回发送请求客户端,告诉他请求已经收到,可以做其他事
        final FutureData futureData = new FutureData();
        //2 启动一个新的线程，去加载真实的数据，传递给这个代理对象
        new Thread(new Runnable() {
            public void run() {
                //3 这个新的线程可以去慢慢的加载真实对象，然后传递给代理对象
                RealData realData = new RealData(queryStr);
                futureData.setRealData(realData);
            }
        }).start();
        return futureData;
    }

}
